package com.sinosoft.builder.config;

import java.io.File;
import java.util.List;

import org.apache.velocity.Template;

import com.sinosoft.builder.generator.GeneratorException;

/**
 * 设置ClassLoader的接口类
 * 
 * @author 潘巍（Peter Pan）
 * @since 2010-5-14 下午02:08:15
 */
public interface ILoaderHolder {
	/**
	 * 设置生成文件目录
	 * 
	 * @return destDir
	 */
	public void setDestDir(File f);

	public File getDestDir();

	/**
	 * 设置配置源文件目录
	 * 
	 * @param f
	 */
	public void setResDir(File f);

	public File getResDir();

	/**
	 * 设置类加载器
	 * 
	 * @param loader
	 */
	public void setLoader(ClassLoader loader);

	public ClassLoader getLoader();

	/**
	 * 获得Log
	 * 
	 * @return
	 */
	public Logger getLog();

	/**
	 * 通过name获得模板
	 * 
	 * @param name
	 * @return
	 * @throws GeneratorException
	 */
	public Template getTemplate(String name) throws GeneratorException;

	public List<Object> getResObjects();

}